package com.firemoss.magicbus.messaging
{
	import mx.messaging.MessageAgent;
	
	public interface IMessageAgentMediator
	{

		function get connectionStateChangeEvent() : String
		function get channelFaultEvent() : String
		function get acknowledgeEvent() : String
		function get faultEvent() : String
		
		function get messageAgent() : MessageAgent
		
		/**
		 * Allows framework specific mediators to dispatch events in their
		 * framework-specific ways.
		 */
		function dispatch( event : Object ) : void

		/**
		 * Determines keys on mediated events.
		 */
		function get bodyProperties() : Array

		/**
		 * Determines key on mediated events when singular (could also use 1-length value for bodyProperties).
		 */
		function get bodyProperty() : String
				
		
	}
}